home *** CD-ROM | disk | FTP | other *** search
/ Komputer for Alle 2003 Ekstra 100 Spil / K-CD_2003_Ekstra_100_Spil.iso / Action / GLtron / GLtron-0.62-setup.exe / {app} / scripts / menu_functions.lua < prev    next >
Text File  |  2002-12-21  |  2KB  |  91 lines

  1. GetMenuValue = {}
  2. MenuAction = {}
  3.  
  4. GetMenuValue[ MenuC.type.menu ] = function ( menu )
  5.    -- return "(menu)"
  6.    return ""
  7. end
  8. MenuAction[ MenuC.type.menu ] = function ( menu )
  9.    Menu.current = menu 
  10.    Menu.active = 1
  11. end
  12.  
  13. GetMenuValue[ MenuC.type.list ] = function ( menu )
  14.    local value
  15.    if Menu[menu].read then 
  16.       value = Menu[menu].read()
  17.    else
  18.       value = "undef"
  19.    end
  20.    -- script_print(menu .. " --> " .. value )
  21.    local i
  22.    for i=1,getn(Menu[menu].values) do
  23.       if Menu[menu].values[i] == value then return Menu[menu].labels[i] end
  24.    end
  25.    return "unknown (" .. value .. ")"
  26. end
  27. MenuAction[ MenuC.type.list ] = function ( menu )
  28.    local value
  29.    if Menu[menu].read then 
  30.       value = Menu[menu].read()
  31.    else
  32.       value = "undef"
  33.    end
  34.  
  35.    local nValues = getn(Menu[menu].values)
  36.    local i
  37.    for i=1,nValues do
  38.       if Menu[menu].values[i] == value then
  39.      if i < nValues then
  40.         value = Menu[menu].values[i + 1]
  41.      else
  42.         value = Menu[menu].values[1]
  43.      end
  44.      return Menu[menu].store( value ) 
  45.       end
  46.    end
  47.    return Menu[menu].store( Menu[menu].values[1] )
  48. end
  49.  
  50. MenuAction[ MenuC.type.action ] = function ( menu )
  51.    Menu[menu].action()
  52. end
  53.  
  54. GetMenuValue[ MenuC.type.slider ] = function ( menu )
  55.    return Menu[menu].read()
  56. end
  57.  
  58. MenuAction[ MenuC.type.slider ] = function( menu )
  59.    if Menu[menu].action then
  60.       Menu[menu].action()
  61.    end
  62. end
  63.  
  64. MenuAction[ MenuC.type.key ] = function ( menu )
  65.    local player = Menu[menu].player
  66.    local event = Menu[menu].event
  67.    configure_player = player
  68.    configure_event = event
  69.    c_configureKeyboard()
  70. end
  71.  
  72. GetMenuValue[ MenuC.type.key ] = function ( menu )
  73.    local player = Menu[menu].player
  74.    local event = Menu[menu].event
  75.    return c_getKeyName( settings.keys[ player ][ event ] )
  76. end
  77.  
  78. GetMenuValue[ MenuC.type.action ] = function ( menu )
  79.    -- return "(action)"
  80.    return ""
  81. end
  82.  
  83. GetMenuValueWidth = function ( menu )
  84.    return strlen( GetMenuValue[ Menu[menu].type ]( menu ) )
  85. end
  86.  
  87. GetMenuValueString = function ( menu )
  88.    return GetMenuValue[ Menu[menu].type ]( menu )
  89. end
  90.  
  91.